/**
 *Arxiu amb funcions varies que utilitzen els formularis
 *
 * @copyright 2009 - Equip de Desenvolupament de ASI 2
 * @link http://www.iescopernic.com
 * @version 1.0
 * @license GNU/GPL-http://www.gnu.org/copyleft/gpl.html
 * @package CreditSintesis
 * @subpackage scrips
 * @author ASI 2
 */

/**
 *
 *funció que conta els objectes tipus checkbox del formulari que s'ha passat a la funcio
 *i que estan activades
 *@param formulari
*/
function contarchecks(formulari){
    //variable que conta el numero de checkbox marcades per eliminar
    numobj = 0
    //array on guardem tots els elements del formulari que ens passen per argument
    var arrElems = formulari.elements
    //recorrem tota la array en busca de checkbox
    for(xi=0;xi<arrElems.length;xi++){
        //si trobem un checkbox
        if (arrElems[xi].type.toLowerCase() == "checkbox"){
            //comnprovem si esta activat
            if (arrElems[xi].checked){
                //augmentem numobj en 1
                numobj++
            }
        }
    }

    //si em trobat checkbox activats
    if (numobj != 0 ){
        //llancem la finestra per a confirmar
        if (confirm("ATENCIÓ: Si algun d'aquests objectes te alguna incidència associada no s'esborrarà ! ! ! \nEts a punt d'esborrar " + numobj +" element/s. \n N'estàs segur?")){
            //si acceptem retornem true  i eliminem
            return true;
        //si cancelem retornem false i no fem res
        }else{
            return false;
        }
    }
    //si no troben cap checkbox activada retornem fals i no fem res
    else{
        return false;
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 *
 * funció que conta els objectes tipus checkbox del formulari que s'ha passat a la funcio
 * i que estan activades
 * @param formulari
 */
function contarchecks1(formulari){
    //variable que conta el numero de checkbox marcades
    numobj = 0 
   
    //array on guardem tots els elements del formulari que ens passen per argument
    var arrElems = formulari.elements

    //controlem que s'hagi escollit un usuari, si no no fem res
    if(arrElems[0].value == 0){
        return false;
    }
    //recorrem tota la array en busca de checkbox
    for(xi=0;xi<arrElems.length;xi++){
        
        //si trobem radio activat
        if ((arrElems[xi].type.toLowerCase() == "radio") && (arrElems[xi].checked)){
            
            if (confirm("Ets a punt de canviar  permisos ! ! !  \n N'estàs segur?")){
                //si acceptem retornem true  i eliminem
                return true;
            }else{
                return false;
            }
        }

        //si trobem un checkbox
        if (arrElems[xi].type.toLowerCase() == "checkbox"){
            //comnprovem si esta activat
            if (arrElems[xi].checked){
                //augmentem numobj en 1
                numobj++
            }
        }                    

    }

    //si em trobat checkbox activats
    if (numobj != 0 ){
        //llancem la finestra per a confirmar
        if (confirm("Ets a punt d'otorgar " + numobj +" permiso/s. \n N'estàs segur?")){
            //si acceptem retornem true  i eliminem
            return true;
        //si cancelem retornem false i no fem res
        }else{
            return false;
        }
    //si no trobem cap checkbox activat vol dir que l'usuari no te permisos
    }else if (numobj == 0){
        //llancem la finestra per a confirmar
        if (confirm("Ets a punt d'eliminar tots els permisos del usuari. \n N'estàs segur?")){
            //si acceptem retornem true  i eliminem
            return true;
        //si cancelem retornem false i no fem res
        }else{
            return false;
        }
    }
    //si no troben cap checkbox activada retornem fals i no fem res
    else{
        return false;
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 *
 *funció que conta els objectes tipus checkbox del formulari espais que s'ha passat a la funcio
 *i que estan activades
 *@param formulari
*/
function contarchecks2(formulari){
    //variable que conta el numero de checkbox marcades per eliminar
    numobj = 0
    //array on guardem tots els elements del formulari que ens passen per argument
    var arrElems = formulari.elements
    //recorrem tota la array en busca de checkbox
    for(xi=0;xi<arrElems.length;xi++){
        //si trobem un checkbox
        if (arrElems[xi].type.toLowerCase() == "checkbox"){
            //comnprovem si esta activat
            if (arrElems[xi].checked){
                //augmentem numobj en 1
                numobj++
            }
        }
    }

    //si em trobat checkbox activats
    if (numobj != 0 ){
        //llancem la finestra per a confirmar
        if (confirm("ATENCIÓ: Si algun d'aquests espais te algun objecte associat no s'esborrarà ! ! ! \nEts a punt d'esborrar " + numobj +" element/s.\n N'estàs segur?")){
            //si acceptem retornem true  i eliminem
            return true;
        //si cancelem retornem false i no fem res
        }else{
            return false;
        }
    }
    //si no troben cap checkbox activada retornem fals i no fem res
    else{
        return false;
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 *funcio que ens obre una finestra secundaria amb l'url que li passem per paràmetre,especial per a
 *subform_material.php i sunform_espais.php
 *@param URL
 *@param nom
 */
function subfinestra(URL,nom){
    window.showModalDialog(URL,nom,"dialogWidth=650;dialogHeight=300")
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 *funcio que ens obre una finestra secundaria amb l'url que li passem per paràmetre especial per a fitxa.php
 *@param URL
 *@param nom
 */
function subfinestra1(URL,nom){
    window.showModalDialog(URL,nom,"dialogWidth=650;dialogHeight=520")
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 *funcio que ens obre una finestra secundaria amb l'url que li passem per paràmetre especial per a detallMevaInci.php
 *@param URL
 *@param nom
 */
function subfinestra2(URL,nom){
    window.open(URL,nom,"width=680,height=600")
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 *funcio que ens obre una finestra secundaria amb l'url que li passem per paràmetre especial per a detallPendents.php
 *@param URL
 *@param nom
 */
function subfinestra3(URL,nom){
    window.open(URL,nom,"scrollbars=1,width=700,height=800")
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 * funció que depenent de si hi ha o no historial tanca o tira enrera
 */
function tancar(){
    var x = history.length;
    if ( x < 2){
        window.close();
    }else{
        window.history.back();
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
  * funció que busca caràcters que no siguin espais en blanc en una cadena
  * @param cadena
  */
function buit(cadena) {
    for ( i = 0; i < cadena.length; i++ ) {
        if ( cadena.charAt(i) != " " ) {
            return true
        }
    }
    return false
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
  * valida que el camp no estigui buit o només amb espais en blanc del
  * formulari subform_material.php
  * @param form
  */
function valida1(form) {
    if(!buit(form.nom.value)) {
        alert("El Camp no pot estar en blanc ! ! !")
        return false
    }else{
        return true
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
  * valida que els camps no estiguin buits o només amb espais en blanc de
  * formulari subform.espais.php
  * @param form
  */
function valida2(form) {
    if (!buit(form.codi_espai.value)){
        alert("El Camp no pot estar en blanc ! ! !")
        return false
    } else if (!buit(form.nom_espai.value)){
        alert("El Camp no pot estar en blanc ! ! !")
        return false
    }else{
        return true
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////

/**
  * ens mostra una finestra amb missatge d'error i tanca la pàgina
  * o retrocedeix enrera si es el cas.
  */
function errorperm(){
    alert('NO TENS PERMISOS PER ACCEDIR AQUESTA PÀGINA ! ! !');
    tancar();

}

////////////////////////////////////////////////////////////////////////////////////////////////////
/**
    *Valida els camps marca i descripció de l'incidència
    *@param formu
    */
function validaboton(formu) {
    var marca = formu.marca.value;
    var descrip = formu.descripcio2.value;

    if (marca == "")
    {
        alert('Introdueix la Referéncia de l\'objecte per poder enviar la incidència.');
        return false;
    }
			
    else if ((descrip=="Anota amb el màxim detall la descripció del problema.") || (descrip==""))
    {
        alert('Introdueix una descripció vàlida');
        return false;
    }
    else{
              
        return true;
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////


var defaultText1 = 'Anota amb el màxim detall la descripció del problema.';
var defaultText2 = 'Aquí pots anotar informació extra per a la teva incidència...';
var defaultText3 = 'Escriu una petita descripció del objecte...';
var defaultText4 = 'Aquí pots anotar els pasos realtizats per a la resolució de l\'incidència...';

/**
         * funció que elimina el contingut per defecte d'un camp o per el contrari
         * posa un contingut per defecte si no s'ha omplert
         * @param camp string (nom del camp del form a evaluar)
         * @param textPerDefecteVar integer (ens mostra la variable text que em de comparar)
         * @param status boolea (val 1 o 0 )
         */
function actualitzarText(camp, status, textPerDefecteVar) {
    if (status) {
            
        if (camp.value == eval("defaultText"+textPerDefecteVar)){
            camp.value = '';
        }
    }else{
            
        if (camp.value == ''){
            camp.value = eval("defaultText"+textPerDefecteVar);
        }
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////





